Many devices are formed by connecting multiple hardware components together, e.g. within a computer, the motherboard is connected to the hard drive, graphics card, network card etc. Usually one hardware component is acts as the master and the other devices are slaves. In order to electrically connect the components together, each slave component can be connected separately to the master component in a star formation; however this arrangement involves a lot of wiring and becomes unwieldy where there are a large number of slaves. An alternative solution is to use a shared data bus, which allows many components to be connected together in a manner which is physically much easier to manage. As a shared medium is being used to communicate between the master and slaves, each slave needs to have a unique identifier which can be used to address the slave and enables the master to individually control each slave. These identifiers for different components are typically set manually using a series of small switches or jumpers on the components or by setting the position of a rotary switch using a screwdriver.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known methods of interconnecting groups of devices.